//////////////////////////////////////////////////////////////////////////////
//                                                                          //
//     Filename: AutoMutex.h                                                //
//  Create date: September 15, 2005                                         //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////
//                                                                          //
//  Description: This file implements the AutoMutex class.  This small      //
//                 wrapper class can be used when you want to enter         //
//                 a critical section upon creation and leave the critical  //
//                 section when the instance goes out of scope.             //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////
//       Copyright (c) 2005 - Realtime Gaming.  All rights reserved.        //
//////////////////////////////////////////////////////////////////////////////

class AutoMutex
{

CRITICAL_SECTION* m_pMutex;

public:
    AutoMutex( CRITICAL_SECTION* pMutex )
    {
        m_pMutex = pMutex;
        EnterCriticalSection( m_pMutex );
    }

    ~AutoMutex()
    {
        LeaveCriticalSection( m_pMutex );
    }
};